//package com.liuwei.spring.cloud.configuration;
//
//import io.micrometer.observation.Observation;
//import io.micrometer.observation.ObservationHandler;
//import io.micrometer.observation.ObservationRegistry;
//import io.micrometer.observation.aop.ObservedAspect;
//import io.micrometer.tracing.handler.DefaultTracingObservationHandler;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @author : ObservedAspectConfiguration
// * @version V1.0
// * @date: 2023/12/25 9:29 AM
// * @Description: TODO
// */
//@Configuration
//public class MicrometerConfiguration {
//    @Bean
//    public ObservedAspect observedAspect(ObservationRegistry observationRegistry) {
//        observationRegistry.observationConfig().observationHandler(new SimpleLoggingHandler());
//        return new ObservedAspect(observationRegistry);
//    }
//
//    public class SimpleLoggingHandler  implements ObservationHandler<Observation.Context> {
//        @Override
//        public void onStart(Observation.Context context) {
//            ObservationHandler.super.onStart(context);
//        }
//
//        @Override
//        public void onError(Observation.Context context) {
//            ObservationHandler.super.onError(context);
//        }
//
//        @Override
//        public void onEvent(Observation.Event event, Observation.Context context) {
//            ObservationHandler.super.onEvent(event, context);
//        }
//
//        @Override
//        public void onScopeOpened(Observation.Context context) {
//            ObservationHandler.super.onScopeOpened(context);
//        }
//
//        @Override
//        public void onScopeClosed(Observation.Context context) {
//            ObservationHandler.super.onScopeClosed(context);
//        }
//
//        @Override
//        public void onScopeReset(Observation.Context context) {
//            ObservationHandler.super.onScopeReset(context);
//        }
//
//        @Override
//        public void onStop(Observation.Context context) {
//            ObservationHandler.super.onStop(context);
//        }
//
//        @Override
//        public boolean supportsContext(Observation.Context context) {
//            return true;
//        }
//    }
//
//}
